Application testing can be a tedious process that often necessitates executing a test on a remote device. For example, a test can be composed on a source device that is executing a first operating system, but it may be necessary to perform the test on a number of different operating systems or different configurations. One option could be reconfigure the source device and/or install the different operating systems, but an easier approach may be to have remote systems already configured. To run the test on the remote devices, the test must be manually copied to the remote devices. In another example, it may be undesirable to execute the test on the source device because it could result in changing the configuration of the source device, e.g. installing new files, deleting files, changing settings, etc. In this case, a remote device can be used for the testing and can be reset without disrupting a developer's device.
Often the testing process can require multiple iterations of changing an application and running a test, which can lead to repeatedly manually copying one or more files to the remote device. The repeated manual copying not only involves overhead for the developer, but can also result in costly testing errors. For example, during the testing process a developer may forget to copy a file or update a copy of a file on the remote device. In another example, a developer may manually copy a file to a wrong location. In both of these cases, a developer may waste time trying to identify the source of an unexpected test result.